﻿using AutoMapper;
using B.S.BaseData.Domain.Entities.Meeting;
using B.S.BaseData.ErrorCode;
using B.S.BaseData.ErrorCode.ErrorCodes;
using B.S.DataBase.EFCoreServiers.Dtos.MeetingReservations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.EFCoreServiers.IServices.Meetings
{
    public interface IMeetingReservationServices
    {

        /// <summary>
        /// 添加会议室预约
        /// </summary>
        /// <param name="addReservationDto">预约信息</param>
        /// <returns>操作结果</returns>
          Task<ApiResult> AddReservationAsync(AddMeetingReservationDto addReservationDto);

        /// <summary>
        /// 获取会议室预约列表
        /// </summary>
        /// <param name="queryDto">查询条件</param>
        /// <returns>预约列表</returns>
        Task<ApiResult<ApiPaging<GetMeetingReservationResponseDto>>> GetReservationListAsync(GetMeetingReservationDto queryDto);

        /// <summary>
        /// 更新会议室预约
        /// </summary>
        /// <param name="updateDto">更新的预约信息</param>
        /// <returns>操作结果</returns>
        Task<ApiResult> UpdateReservationAsync(UpdateMeetingReservationDto updateDto);


        /// <summary>
        /// 删除会议室预约
        /// </summary>
        /// <param name="id">预约ID</param>
        /// <returns>操作结果</returns>
          Task<ApiResult> DeleteReservationAsync(int id);
      

    }
}
